Consumers and businesses face a growing tide of malicious software that threatens the stability and performance of their computers and the security of their data. Computer programmers with malicious motivations have created and continue to create viruses, Trojan horses, worms and other programs in an attempt to compromise computer systems. These malicious programs are often referred to as malware. In an attempt to evade detection, malicious programmers may inject malware into or among legitimate programs.
One approach to protect a computing system from many of the undesired effects of malware is to run programs on the computing system within a virtualized environment (i.e., to “sandbox” the programs). A sandboxed program that contains malware may be prevented from making changes to the system that effect the operation of other programs and/or the system as a whole. Unfortunately, this approach may suffer from various drawbacks. For example, sandboxing may consume additional system resources and/or reduce application interoperability. Accordingly, the present disclosure addresses a need for additional and improved systems and methods for safely executing programs.